package itsm.isperp.framework.data.dialect;

import itsm.isperp.framework.data.dialect.impl.MySQLDialect;
import itsm.isperp.framework.data.dialect.impl.OracleDialect;

import org.springframework.data.jdbc.support.DatabaseType;

/**
 * 数据库方言工厂
 * 
 * @author lizx
 * @date 2013-1-24
 * @version V1.0
 */
public final class DialectFactory {
	private static DatabaseType databaseType;

	public static DatabaseType getDatabaseType() {
		return databaseType;
	}

	public static void setDatabaseType(DatabaseType databaseType) {
		DialectFactory.databaseType = databaseType;
	}

	public static Dialect getDialect() {
		return getDialect(databaseType);
	}

	/**
	 * 指定数据库类型获取数据库方言
	 * 
	 * @param type
	 *            数据库类型
	 * @return 数据库方言
	 */
	public static Dialect getDialect(DatabaseType type) {
		switch (type) {
		case MYSQL:
			return new MySQLDialect();
		case ORACLE:
			return new OracleDialect();
		}
		return null;
	}

}
